package com.rc.evcharger.service;

import com.rc.evcharger.model.elec.ElecPile;
import com.rc.evcharger.vo.charge.ChargeBalaceRet;
import com.rc.evcharger.vo.charge.ChargeControlRet;
import com.rc.evcharger.vo.charge.ChargeReportRet;
import com.rc.evcharger.dto.msg.TerminalMessage;

/**
 * Create by Yang on 2019/3/16
 * 分析报文数据
 */
public interface ChargeMessageService {
    /**
     * 登录
     * @param pile
     */
    void login(ElecPile pile);

    /**
     * 登出
     * @param pile
     */
    void loginOut(ElecPile pile);

    /**
     * 心跳
     * @param pile
     */
    void hearBeat(ElecPile pile, TerminalMessage msg);

    /**
     * 充电上报的数据
     * @param pile
     */
    ChargeReportRet chargeReport(ElecPile pile, TerminalMessage msg);

    /**
     * 开始、停止充电返回码
     * @param pile
     */
    ChargeControlRet readElecControl(ElecPile pile, TerminalMessage msg);

    /**
     * 充电结束的数据
     * @param pile
     */
    ChargeBalaceRet chargeBalace(ElecPile pile, TerminalMessage msg);

    /**
     * (CMD=C6) 桩充电功率限制回复指令（桩响应）
     *
     * @param pile
     * @param msg
     */
    Integer readLimitPower(ElecPile pile, TerminalMessage msg);

    /**
     * (CMD=C5) 充电桩动态信息查询指令（桩响应）
     *
     * @param pile
     * @param msg
     */
    void readPower(ElecPile pile, TerminalMessage msg);
}
